n = int(input())
moves = input()
dist = list( map(int, input().split()) )
possible = False
first = True
time = 0
for i in range(1, n):
if moves[i] == 'L' and moves[i-1] == 'R':
possible = True
if first:
time = int((dist[i]-dist[i-1])/2)
first = False
else:
time = min(time, int((dist[i]-dist[i-1])/2))
if n == 1 or not possible:
print(-1)
else:
print(time)
5B - Center Alignment | 549A - Face Detection |
535B - Tavas and SaDDas | 722C - Destroying Array |
366A - Dima and Guards | 716B - Complete the Word |
1461C - Random Events | 1627A - Not Shading |
141B - Hopscotch | 47B - Coins |
1466C - Canine poetry | 74A - Room Leader |
1333D - Challenges in school №41 | 1475B - New Year's Number |
461A - Appleman and Toastman | 320B - Ping-Pong (Easy Version) |
948A - Protect Sheep | 387A - George and Sleep |
53A - Autocomplete | 1729G - Cut Substrings |
805B - 3-palindrome | 805C - Find Amir |
676C - Vasya and String | 1042B - Vitamins |
1729F - Kirei and the Linear Function | 25D - Roads not only in Berland |
1694A - Creep | 659F - Polycarp and Hay |
1040A - Palindrome Dance | 372A - Counting Kangaroos is Fun |